在 Ruby 中,程式碼不只是靜態腳本——它是一套 活的系統。 內省 是一種超能力,讓物件能擁有『自我認知』,將原本的黑盒子轉化為可搜尋的功能地圖。即使是 即時值 如整數等,也能在執行時期被詢問其來源與功能特性。
1. 活動介面
透過呼叫 obj.methods(regular=true),我們可以取得物件完整的功能詞彙。一個簡單的範圍物件(r = 1..10)顯示出驚人的 68 種不同的方法,反映出它從 Object 以及 Enumerable 混入模組所繼承的豐富功能。
2. 動態探索
這個 respond_to? 方法就像執行時期的守門人,啟用 鴨子型別。我們不再問『你是什麼?』,而是問『你能做這件事嗎?』。這種彈性使程式能根據實際能力進行調整,例如檢查字串是否支援類似賦值符號(=)或數值是否支援特定的 層次查詢。
3. 元文件橋樑
像 RDoc 這些功能可自動產生 字母排序列表格式 和方法簽章區塊圖。透過查詢 模組常數 以及 實例變數,開發者可程式化地導覽整個命名空間結構,縮小原始碼檔案與實際執行之間的差距。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>